home *** CD-ROM | disk | FTP | other *** search
/ Trading on the Edge / Trading On The Edge - CD-ROM Toolkit (Wayzata Technology)(2031)(1994).bin / mac / Shared / AZTE programs / robots.txt < prev   
Text File  |  1993-06-11  |  34KB  |  756 lines

  1. -------------------------------------------------------------------------
  2. ANDERSON
  3.  
  4. David Anderson
  5. University of Minnesota
  6.  
  7. This strategy attempts to buy at prices better than the average
  8. sale price in a period.  If the average of the current bid and 
  9. the current offer is above the average sale price my program 
  10. bids aggresively (in my case bidding aggressively is bidding 
  11. 2*cbid/3+coffer/3.)   I also bid aggressively if all other buyers 
  12. have sold one more unit than me.  If neither of these conditions 
  13. hold I bid nonaggressively (in my case this means bidding
  14. 10*cbid/11+coffer/11.)  Since this is what I expect to happen in 
  15. most cases my stategy amounts to attempting to colude with the 
  16. other buyers to bring prices down.  I only bid aggresively when 
  17. a favorable counteroffer has been made or if others are doing all 
  18. the trading.
  19.  
  20. Finally, if I'm running out of time or if I haven't bought in a 
  21. long time I bid coffer.  My stategy for selling is symetric.
  22.  
  23. CLASSIFICATION: simple, nonadaptive, nonstochastic, nonpredictive,
  24. nonoptimizing
  25.  
  26. Program rank in 1990 SFI Double Auction Tournament: 8th out of 29 
  27.  
  28. -------------------------------------------------------------------------
  29. ANON1
  30.  
  31. Strategy:  delay as long as you dare before moving towards the opponent's
  32. price.  This works GREAT if all your teammates do it also.  If they don't,
  33. it's still nice for them, but not so nice for me.  How noble.
  34.  
  35. In order not to miss trades by running overtime, I define my waiting
  36. period as a fraction of the remaining ticks.
  37.  
  38. CLASSIFICATION: simple nonadaptive nonstochastic nonpredictive nonoptimizing
  39.  
  40. Rank in 1990 SFI DA tournament: 9th out of 29
  41.  
  42. -------------------------------------------------------------------------
  43. ANON2
  44.  
  45. This program does the following:
  46.  
  47. - keeps an average transaction price
  48. - goes quickly to somewhat below the average 
  49. - goes slowly otherwise
  50. - speeds up toward the end of the period
  51. - preserves the average price across periods of the same round
  52.  
  53. CLASSIFICATION: simple nonadaptive nonstochastic nonpredictive nonoptimizing
  54.  
  55. Rank in 1990 SFI DA tournament: 4th out of 29
  56.  
  57. -------------------------------------------------------------------------
  58. BOLCER
  59.  
  60. Author(s) name: Gregory Alan Bolcer
  61. Phone: (714) 856-4047
  62. Institution: University of California at Irvine
  63. Mailing address: Department of Information and Computer Science
  64.                    University of California, Irvine
  65.                    Irvine, CA 92717
  66. e-mail address: gbolcer@ics.uci.edu
  67.  
  68. This program attempts to predict specific trading prices which can
  69. then be used to evaluate bid/offer values by utilizing concepts from
  70. an acceleration method in economics which assumes that as prices near
  71. equilibrium the velocity with which they approach this point decreases, 
  72. and a method of encoding feature vectors into a scalar in such a way that 
  73. is meaningful, (incompletely) similar to the method used for 
  74. sensor-fusion in robotics.
  75.  
  76. CLASSIFICATION: simple nonadaptive nonstochastic nonpredictive nonoptimizing
  77.  
  78. Rank in 1990 SFI DA tournament: 29th out of 29.
  79.  
  80. -------------------------------------------------------------------------
  81. BRETON
  82.  
  83. Marc Breton
  84. University of Minnesota
  85.     
  86. This program attempts to allow for flexible initial bidding /offering 
  87. (at time 1, period 1) and a fairly aggresive strategy for achieving the low 
  88. offer/high bid.  In contrast, the strategy for closing in on a deal is less 
  89. aggresive in that it requires reciprocation on the part of by the agents in 
  90. the other half of the market.  It responds to percentage changes as well as 
  91. interval changes in the bid/offer from the other side of the market.  The 
  92. acceptance criteria for offers is simply enough to guarentee a reasonable 
  93. return (i.e., ratio of bid to offer) and probably will be very susceptible 
  94. to other competitors "stealing" the deal.  C'est la vie!
  95.  
  96. Rank in 1990 SFI DA tournament: 7th out of 29
  97.  
  98. -------------------------------------------------------------------------
  99. BROMILEY
  100.  
  101. Philip Bromiley, Mgmt. Dept., U of Minnesota
  102. 271 - 19th Av S  #835
  103. Minneapolis, MN  55455
  104.  
  105. ASP sets an aspiration level and adjusts it on the basis of
  106. last time's activity.  It does a simple forecast of next time's
  107. offers and bids and then decides to enter the market if trading
  108. is expected to reach the aspiration level.
  109.       
  110. By initially being quiet, ASP hopes to avoid counter-productive
  111. competition with traders on its own side.
  112.       
  113. ASP takes care of a couple of odd contingencies:  time running
  114. out and no messages from its own side, but leaves other, rather
  115. obvious contingencies uncovered (e.g. monopoly for or against, 
  116. or only one unit to trade).
  117.       
  118. ASP requires little computational ability and little memory. It
  119. is an outgrowth of work here to try to simulate some of the 
  120. experimental market (human) results with minimal "expense" in
  121. terms of computational ability and memory.
  122.  
  123. Rank in 1990 SFI DA tournament: 18th out of 29
  124.  
  125. -------------------------------------------------------------------------
  126. BURCHARD
  127.  
  128. Paul Burchard
  129. Institute for Advanced Study, ECP-8
  130. Princeton NJ 08540
  131.  
  132. This program uses an adaptive curve fitter based on "cell division"
  133. to predict the trading behavior of its fellow players.  (For more
  134. information on the curve fitter, see "cells.h".)  Four curve fitters
  135. are used in the current version of the program.  They predict: [1] the
  136. highest bid to be made by others on the next time step (assuming no trade
  137. takes place this time), [2] the same (but assuming a trade does take
  138. place this time), [3] the lowest offer to be made by others on the next
  139. time step (assuming no trade takes place this time), the same (but
  140. assuming a trade does take place this time).  Given its predictions,
  141. it bids just high enough or offers just low enough that it should win
  142. on the next timestep.
  143.  
  144. In addition to obviously acceptable deals, during a buy-sell step it will
  145. also accept deals (not objectionable in any obvious way) which come at
  146. a better than average price.  At the very end of a period it will accept 
  147. anything with positive profit.
  148.  
  149. Rank in 1990 SFI DA tournament: 10th out of 29
  150.  
  151. -------------------------------------------------------------------------
  152. EXP
  153.  
  154. Roland Michelitsch, Shawn LaMaster, Mark VanBoening
  155. Economic Science Laboratory, University of Arizona, Tucson, Arizona
  156.  
  157. Exp computes an expected equilibrium price based not only on the
  158. information we gain by gametype, but also taking into consideration
  159. our own token values. Expected eq is updated if we are a seller if
  160. a trade occurs above the expected eq and if we are buyer if a trade
  161. occurs below the expected eq. At the end of every period (in the
  162. last quarter) Exp goes below this expected eq as far as a markup
  163. above/below the current token value. This markup depends on how much
  164. time is left.
  165.  
  166. Rank in 1990 SFI DA tournament: 27th out of 29
  167.  
  168. -------------------------------------------------------------------------
  169. ESL Free
  170.  
  171. Designed by Dr. Corinne Bronfman, Finance Department, University of Arizona
  172. Programmed by Shawn LaMaster, Economic Science Lab, University of Arizona
  173. Economic Science Laboratory, University of Arizona, Tucson, Arizona
  174.  
  175. Free uses the information in the price process to update the estimate
  176. of the equilibrium price (free rides on other peoples updating). As the 
  177. number of trades increase, the weights on the current price information
  178. increase.
  179.  
  180. Rank in 1990 SFI DA tournament: 23rd out of 29.
  181.  
  182. -------------------------------------------------------------------------
  183. GAMER
  184.  
  185. Shawn LaMaster, Mark Van Boening, Kevin McCabe
  186. Economic Science Laboratory, University of Arizona, Tucson, Arizona
  187.  
  188. ESL Gamer simply bids/offers a 5% markup of its value to win
  189. the bid/offer step, and then accepts any bid/offer that provides non
  190. negative profits. Because of the discreet steps involved, the bid/offer
  191. and buy/sell steps, and the manner in which ties for both sides accepting
  192. the winning bid or offer are broken, we believe this simple strategy will
  193. work. At worst, ESL Gamer would receive 5% of its value, if a winner of
  194. the bid/offer step. At best, ESL Gamer would receive the difference between
  195. its value and the offer that won the bid/offer step. This strategy would
  196. not work in an auction market where any trader can accept the standing
  197. bid/offer.
  198.  
  199. Rank in 1990 SFI DA tournament: 24th out of 29
  200.  
  201. -------------------------------------------------------------------------
  202. JACOBSON
  203.  
  204. Guy Jacobson, Carnegie Mellon University 
  205.  
  206. A simple speed-up strategy that maintains an estimate of the equilibrium
  207. price for this round based on a weighted average of previous trade prices,
  208. and moves to that estimate at rate propotional to its confidence in the
  209. estimate's accuracy.  (As more trades are made, this confidence
  210. increases.)  Once there, it is pretty stubborn about getting its price,
  211. and only capitulates when time is running out relative to the rate at
  212. which the gap between cbid and coffer is closing in the current period,
  213. and when the profit is a relatively large fraction of the profit + gap.
  214.  
  215. Rank in 1990 SFI DA tournament: 17th out of 29
  216.  
  217. -------------------------------------------------------------------------
  218. KAPLAN 
  219.  
  220. Todd R. Kaplan
  221. University of Minnesota
  222. Mpls, Mn. 55406
  223.  
  224. This routine involves several strategies.
  225.  
  226. 1. it stays out of the bidding war hoping that by doing so the market
  227.    becomes more favorable to buyers
  228. 2. It waits until the bids and offers are within a certain range, then
  229.    it jumps in and buys before someone else does. It also makes sure 
  230.    that before jumping in that the transaction is somewhat profitable
  231. 3. If its been a while since the last transaction,  it decides to buy
  232.    preventing the period from ending with incomplete transactions.
  233. 4. When it is stuck with a one on one, (No transactions can take place
  234.    without it participating) it just uses (3) to wait until the seller
  235.    saturates and offers its lowest possible price.
  236. 5. It tries to improve in future periods and not get 'taken' twice.
  237.  
  238. The main idea is to make the market favorable to buyers and get its fair
  239. share of the profits. This is a semi-collusive strategy.. If the other
  240. buyers/sellers keep there prices favorable, then they all can win big.
  241. In practice, it needs the majority of one side of the market to be non
  242. aggressive. Problems: the range it decides to jump in might be too big 
  243. or too small so it might be to ambitious and buy too expensive, or wait 
  244. too long and get shut out of the market.
  245.  
  246. It also relies heavily on the other buyers being smart if they are
  247. non collusive. An aggressive side member can also hurt it. It also assumes
  248. that its opponents are computers and won't recognize its obvious patterns.
  249. This strategy takes no account of past history or performance.  It also
  250. doesn't allow for tokens being outside the minprice-maxprice range.
  251.  
  252. Rank in 1990 SFI DA tournament: first place out of 29.
  253.  
  254. -------------------------------------------------------------------------
  255. KINDRED
  256.  
  257. Darrell Kindred
  258. Duke University
  259.  
  260. Basis of strategy:  Similar to the simple one in the skeleton, but
  261. we adjust our bids/offers and propensity to sell based on previous
  262. sales, potential profits, and time left in the period.
  263.  
  264. Rank in 1990 SFI DA tournament: 22nd out of 29
  265.  
  266. -------------------------------------------------------------------------
  267. LEE
  268.  
  269. Bernard P. Lee
  270. University of British Columbia
  271.  
  272. The strategy employed is a passive "observe your competition"
  273. strategy.  An assumption is made that the competition has very
  274. similar token values to what was given to the program.  As each
  275. competitor (buyer or seller) makes a bid or offer, their approximate
  276. `margin' is calculated by dividing the amount of the bid or offer by
  277. the approximated value of their token.
  278. For instance, of buyer #2 has made an offer of 500, and had
  279. already bought one in the same period, this program approximates that
  280. buyer #2's cost will be the same as the value of the second token given.
  281. All the calculated margins of the most recent offers for each
  282. competitor with each token is saved, and the program's next bid and
  283. offer for the nth token will be based on the average margin on the nth
  284. token of all other competitors, instead of the current bid or offer.
  285. This strategy isolates the fact that different competitors with
  286. different token values will be bidding or offering at similar amounts,
  287. each with different levels of profit.  The strategy also allows for
  288. setting of a fixed goal that whatever the bid or offer will be, it
  289. must me equal to or greater that the average profit gained by all
  290. other competitors.
  291.  
  292. To prevent the strategy from being stubborn, data on how much the
  293. program is `ahead of' or `behind' the competition is also collected.
  294. If the program is `ahead of' the competition, the `requirement' on
  295. the profit will be greater.  If the program is `behind', the `requirement'
  296. on the profit will drop in order to meet the furious competition.
  297.  
  298. Buying and selling are also very simple strategies.  A ratio between
  299. the profits if the current bit becomes the price and if the current offer
  300. becomes the price is made.  Accept the bid/offer if the ratio falls to
  301. a certain limit. If the ratio is too high, do not accept, and hope that 
  302. the other side accepts.
  303.  
  304. If the held current bid or offer is bettered, let the bid/offer
  305. strategy beat it again.  If the other side refuse to accept for a fixed
  306. number of times, assume the other side has reached its lower limit on
  307. profit and accept the offer/bid.  If it is about the last time in the
  308. period, accept it because minimal profit is better than none. 
  309. Both the ratio and the maxinum number of times to reject is adjusted
  310. by the position relative to the competition, i.e. how much ahead of or
  311. behind the competition.
  312.  
  313. No assumption on consistant behaviour on other players is made,
  314. and parameters are cleared and recalculated each period.
  315.  
  316. Rank in 1990 SFI DA tournament: 13th out of 29
  317.  
  318. -------------------------------------------------------------------------
  319. LEINWEBER
  320.  
  321. David Leinweber
  322. MJT Advisers
  323. 800 West 6th Street
  324. LA, CA 90066
  325.  
  326. This is a simple strategy based on the fact that it is
  327. better to take a smaller profit at the end of a period
  328. than to be stuck with token that "expire" worthless.
  329. The basic strategy is the same as the skeleton provided by
  330. SFI, modified as follows:
  331.  
  332. The maximum number of trades possible is calculated at
  333. the start of each period. When more than half of this number
  334. have actually occurred, the program becomes less "greedy" in
  335. its buy/sell decisions.
  336.  
  337. Rank in 1990 SFI DA tournament: 14th out of 29
  338.  
  339. -------------------------------------------------------------------------
  340. LIN
  341.  
  342. Prof. Kuan-Pin Lin, Department of Economics
  343. Portland State University, Portland, OR 97207
  344.  
  345. My strategy in playing DA game is very simple. First the "bid" is a weighted
  346. average of the standing bid (if any) and a reservation (target) price drawn
  347. from a normal distribution with mean and standard error of historical prices
  348. in the market. The weight used in computing this bid depends on number of
  349. sellers and buyers in the market, the number of total and current time units
  350. in each period, and the number of total and current trades. Next the "buy"
  351. decision is based on the profitability rule that current offer must be lower
  352. than the mean market price plus one standard error. The seller's "offer" and
  353. "sell" strategies are constructed similarly.
  354.  
  355. Rank in 1990 SFI DA tournament: 26th out of 29
  356.  
  357. -------------------------------------------------------------------------
  358. MAX
  359.  
  360. Vernon Smith, Shawn LaMaster, Mark Van Boening, Roland Michelitsch,  
  361. Robert Dorsey, Steve Rassenti, Kevin McCabe, Corinne Bronfman, Eric Lu
  362. Economic Science Laboratory, University of Arizona, Tucson, Arizona
  363.  
  364. Max is an expected utility maximizing buyer/seller that uses 
  365. the cumulative distribution function of offers/bids to calculate
  366. the probability that a seller/buyer will accept our bid/offer.
  367.  
  368. Until the number of observations of offers+accepted bids/
  369. bids+accepted offers are equal to (2*ntimes*sellers)/(2*ntimes*buyers),
  370. or 20, whichever is smaller, Max uses an exponential decay based on the
  371. expected equilibrium price computed from the gametype to determine a
  372. bid/offer.
  373.  
  374. Risk in this model is held at 1 for a risk nuetral player.
  375. Max uses a linear decay rule for minimum acceptable profit when
  376. deciding to accept a offer/bid once he wins the bid/offer step. This
  377. decay starts with the maximum amount of profit and then decays to zero.
  378.  
  379. Rank in 1990 SFI DA tournament: 19th out of 29
  380.  
  381. -------------------------------------------------------------------------
  382. MAX-R
  383.  
  384. Vernon Smith, Shawn LaMaster, Mark Van Boening, Roland Michelitsch
  385. Robert Dorsey, Steve Rassenti, Kevin McCabe, Corinne Bronfman, Eric Lu
  386. Economic Science Laboratory, University of Arizona, Tucson, Arizona
  387.  
  388. Max is an expected utility maximizing buyer/seller that uses 
  389. the cumulative distribution function of offers/bids to calculate
  390. the probability that a seller/buyer will accept our bid/offer.
  391.  
  392. Until the number of observations of offers+accepted bids/
  393. bids+accepted offers are equal to (2*ntimes*sellers)/(2*ntimes*buyers),
  394. or 20, whichever is smaller, Max uses an exponential decay based on the
  395. expected equilibrium price computed from the gametype to determine a
  396. bid/offer.
  397.  
  398. Risk in this model is held at 1.5 for a risk loving player.
  399. Max uses a linear decay rule for minimum acceptable profit when
  400. deciding to accept a offer/bid once he wins the bid/offer step. This
  401. decay starts with the maximum amount of profit and then decays to zero.
  402.  
  403. Rank in 1990 SFI DA tournament: 20th out of 29
  404.  
  405. -------------------------------------------------------------------------
  406. GA-NN-1
  407.  
  408.           Richard Dallaway                Inman Harvey
  409.       richardd@cogs.susx.ac.uk        inmanh@cogs.susx.ac.uk
  410.  
  411.               School of Cognitive & Computing Sciences
  412.                       University of Sussex
  413.                       Falmer BRIGHTON UK
  414.  
  415. Genetic algorithm has been used to evolve recurrent neural network.
  416. Program is described in more detail in Rust, Miller, Palmer
  417. "Characterizing Effective Trading Strategies: Insights from
  418. a Computerized Doulbe Auction Tournament" Journal of Economic
  419. Dynamics and Control (forthcoming) also available by anonymous
  420. ftp from fido.econ.arizona.edu in azte/da2.ps.
  421. This program reads the result of the best player (garnet.dna) we had
  422. at the time we stopped evolution.  Garnet.dna is a specification
  423. of a fixed (i.e., no learning) recurrent neural network.
  424.  
  425. Disqualified for excessive losses in 1990 SFI DA tournament
  426. Program modified to yield average performance in subsequent
  427. "scientific tournaments" held at SFI. 
  428.  
  429. -------------------------------------------------------------------------
  430. PERRY 
  431.  
  432. Stan Perry
  433. Portland State University
  434.  
  435. This trader uses a statistical bidding strategy based on the average
  436. price and the price variance.  In addition, a measure of expected
  437. efficiency is included and is used to adjust a tuneable parameter
  438. at the end of each trading period. The Statistical Player uses a fairly
  439. conservative non-statistical strategy until the first 3 trades are
  440. completed in the first period.
  441.  
  442. In what follows the market strategy is described from the buyer's
  443. viewpoint, the sellers viewpoint is generally just the inverse.  The
  444. Statistical Player computes the average price and standard deviation
  445. from the beginning of the round, and for the most recent period within
  446. the round.  The player weights the statistics from the previous period
  447. and combines this with the round statistics.  These simple statistics
  448. are combined with information on the number of players, the seller/buyer
  449. ratio, the apparent efficiency and the time remaining within the round
  450. to develop a bid.
  451.  
  452. This player opens bidding at about 2 standard deviations below the
  453. average price at the beginning of a period.  (The precise amount the
  454. bid is below average price depends on the tuneable parameter which
  455. includes some random noise.)  As the period progresses, the player
  456. moves the bid closer to the average price, and at the end of the period
  457. it may bid up to 0.2 standard deviations above the average price.
  458.  
  459. The buying strategy is very simple, the Statistical Player sets an
  460. acceptance region at the beginning of the period at approximately
  461. 1 standard deviation below the average price.  As the period evolves,
  462. the player moves the acceptance region closer to the average price.
  463. By the end of the period, the player will accept an offer that is
  464. 0.2 standard deviations above the average price.
  465.  
  466. At the end of each period an evaluation function is called to assess
  467. the efficiency of the player.  The possible profit is computed by
  468. comparing the number of trades that were feasible at the average price
  469. with the players token values.  The apparent efficiency is calculated
  470. from actual profit and the possible profit at the average price.
  471. If the efficiency is below an acceptable level a tuneable parameter
  472. is adjusted in proportion to the size of the error.
  473.  
  474. Rank in 1990 SFI DA tournament: 6th out of 29
  475.  
  476. -------------------------------------------------------------------------
  477. PRICETAKER
  478.  
  479. John Rust
  480. University of Wisconsin
  481. Madison, WI 53706
  482.  
  483. Pricetaker emulates "naive price-taking" behavior, treating
  484. market prices as good estimates of CE prices. If PTAKER is a buyer, he will
  485. accept any outstanding offer that yields a profit if time is running out:
  486. i.e. if there are fewer than STPLFT steps remaining, where STPLFT is a
  487. random fraction of the total number of available time steps (see precise
  488. efinition below). If there are more than STPLFT steps remaining, Pricetaker
  489. won't buy until it sees a "good deal". A good deal is defined as an offer
  490. which is no more than a certain percentage MRKUP over a running average of
  491. the transaction price in the current and previous periods. However even if
  492. it detects a good deal, Pricetaker will still wait to buy if offer prices are
  493. coming down and there are more the STPLFT steps remaining in the period.
  494.  
  495. Pricetaker makes bids according to a simple rule: if there is a current bid
  496. outstanding and this bid is not higher than a certain percentage MRKUP
  497. over a running average of the transaction prices in the current and
  498. previous periods, then Prcietaker overbids the current bid by a random
  499. percentage PREM of the profits earned on the purchase of its token at the
  500. current bid price, or passes if profits at the current bid are negative.
  501. If the current bid is "too high", i.e. more than MRKUP percent over a
  502. running average of transaction prices in the current and previous periods,
  503. then Pricetaker waits for bid prices to come down before trying to bid. If
  504. there is no current bid then Pricetaker overbids a random percentage PREM
  505. of the running average transaction price, provided it is positive. However
  506. if the running average transaction price is zero (as it is in the start of
  507. period 1 in each round), then Pricetaker starts by making an "outrageous
  508. bid", i.e. a random fraction of his lowest redemption value. Such an
  509. outrageous bid guarantees that Pricetaker will earn a hansom profit if
  510. accepted by a "sucker" seller at the beginning of the game, reducing the
  511. risk of being committed to buy at too high a price while Pricetaker is
  512. getting a sense of what kinds of bids and offers the other traders will
  513. be making.
  514.  
  515. The strategy Pricetaker follows as a seller is simply a mirror image of
  516. the strategy it follows as a buyer.
  517.  
  518. Program did not participate in 1990 SFI DA tournament, but
  519. ranks as an average player in subsequent "scientific tournaments". 
  520.  
  521. -------------------------------------------------------------------------
  522. RINGUETTE
  523.  
  524. Marc Ringuette, Carnegie Mellon Univeristy, Comp Sci Dept.
  525.  
  526. This is a simple-minded strategy which does surprisingly well in local
  527. run-offs.  I'll describe it from the buyer's point of view.
  528. It has two phases.  For a long time, it just watches, making no 
  529. significant bids; but if a buyer and seller converge within a trigger 
  530. margin, it jump-bids and makes the transaction.  In other words, it waits
  531. for fellow buyers to do the negotiating, then "steals" the transaction.
  532. The surprising thing is that it doesn't check what the selling price is
  533. as long as it's not a loss -- it trusts its fellow buyers to do the
  534. negotiating.
  535.  
  536. For robustness, it has a second phase for when no one else is bidding.
  537. In that case, I chose to have the program bid as slowly as possible.
  538. It can get away with slow bidding because (a) when phase 2 is invoked,
  539. there is usually no competition from other buyers, and (b) because it
  540. speeds up as the deadline approaches, so as not to lose transactions.
  541. Given this, slower is better, to pull the selling price down.
  542.  
  543. General comments:  I conjecture that, since it is fairly difficult to
  544. write a computer program that recognizes the behavior of other programs,
  545. most programs will be almost oblivious to the behavior of the other 
  546. players.  Given this, there are two possible tactics:
  547.     (1) make a non-oblivious program that beats up on oblivious ones
  548.     (2) choose the most robust oblivious strategy you can manage.
  549. I chose the second option, mainly because it's easier.
  550.  
  551. There's a tricky tradeoff: bid quickly so as to put yourself in the drivers'
  552. seat and make all the trades possible, or bid slowly to pull equilibrium
  553. prices downwards.  I try to strike a middle ground, by not bidding at all,
  554. but by snatching transactions so as not to be left out.
  555.  
  556. Rank in 1990 SFI DA tournament: 2nd out of 29
  557.  
  558. -------------------------------------------------------------------------
  559. SILVER BUFFALO
  560.  
  561. Greg Fullerton  4771 Tantra Boulder CO. 80303
  562. Mark Cronshaw   CU,  Dept of Econ. Box 256, Boulder CO. 80309-0256
  563. BJ Lee          CU,  Dept of Econ. Box 256, Boulder CO. 80309-0256
  564. Jamie Kruse     CU,  Dept of Econ. Box 256, Boulder CO. 80309-0256
  565.  
  566. This program bids based on risk calculated by time and tokens left.
  567. It starts by giving a random increment above the last token or cbid
  568. then when available it uses the past increment and estimated 
  569. equilibrium calculated by a regression on  past bids and offers.
  570.  
  571. Rank in 1990 SFI DA tournament: 15th out of 29
  572.  
  573. -------------------------------------------------------------------------
  574. SKELETON
  575.  
  576. Richard Palmer, Duke University
  577. John Miller, Carnegie Mellon University
  578.  
  579. This strategy is the simple example strategy distributed to all potential
  580. entrants to the 1990 SFI double auction tournament. A block diagram
  581. of this strategy appears in the paper "Characterizing Effective Trading 
  582. Strategies: Insights from a Computerized Double Auction Tournament"
  583. forthcoming in the Journal of Economic Dynamics and Control 1993 and
  584. also available by anonymous ftp from /pub/azte/papers at
  585. fido.econ.arizona.edu.
  586.  
  587. The bidding strategy of the Skeleton program (the strategy for offering is
  588. symmetric) depends on whether or not there is a current bid on the table. 
  589. If cbid>0, skeleton bids a randomly weighted average of cbid+1 and the
  590. variable MOST defined as the minimum of the current ask and the program's
  591. redemption value minus one (provided the current ask > 0) or the
  592. redemption value minus one otherwise. If there is no current bid (cbid=0)
  593. then skeleton bids a value of MOST less U(first token -last token) where
  594. U is a uniform (0,1) random variable and first token is the 
  595. redemption value of Skeleton's most valuable token and last token 
  596. is the redemption value of skeleton's least valuable token. When cbid=0
  597. MOST is set to the minimum of the current ask and the redemption value
  598. of the least valuable token minus (provided the current ask > 0),
  599. or just the value of the least valuable token less one otherwise. 
  600.  
  601. The buy/sell decision is based on target value defining a "good price"
  602. which is raised towards Skeleton's redemption value as the time since the
  603. last trade increases.  The current offer is only accepted if it is below
  604. this target value. The target value is initially set at 1.3 times the
  605. least valuable token less .3 times the most valuable token. Subsequent
  606. target values are given by a*target + (1-a)*next token value, where
  607. a = 1/(t - lasttime) where t is the current time and lasttime is the
  608. last time any trade occurred. Skeleton's selling strategy is symmetric.
  609.  
  610. Skeleton did not participate in the 1990 SFI DA tournament, but performed
  611. above average in subsequent "scientific tournaments".
  612.  
  613. -------------------------------------------------------------------------
  614. SLIDE
  615.  
  616. Mark Van Boening, Shawn LaMaster
  617. Economic Science Laboratory, University of Arizona, Tucson, Arizona
  618.  
  619. This program collects bids/offers and computes a prediction of
  620. price (bid or offer) based on a OLS regression of a sliding window of 15
  621. observations.  This strategy is basically computing a trend, 
  622. estimating the coefficients from the regression and computing a prediction
  623. to bid or offer.
  624.  
  625. CLASSIFICATION: simple,nonadaptive,stochastic,predictive,optimizing
  626.  
  627. Rank in 1990 SFI DA tournament: 16th out of 29 
  628.  
  629. -------------------------------------------------------------------------
  630. STAECKER
  631.  
  632. MARK STAECKER
  633. UNIVERSITY OF WESTERN ONTARIO
  634. LONDON ONTARIO CANADA
  635.  
  636. Strategy: The basic strategy of this program is to predict what will
  637. occur in the next step, then attempting to maximize my profits by
  638. using this information. The program attempts to predict the next 
  639. low offer, the next high bid, and the equilibrium trading price by using 
  640. general statistrics on past behavior. Then, using these three 
  641. predictions, it decides if a transaction is likely to occur on the
  642. next step. If it is, it attempts to beat the best price, otherwise, it
  643. does not attempt to beat the best price. Further details on Staecker's
  644. strategy can be found in paper "Characterizing Effective Trading STrategies:
  645. Insights from a Computerized Double Auction Tournament" by Rust, Miller
  646. and Palmer (forthcoming Journal of Economic Dynamics and Control, 1993)
  647. and available via anonymous ftp from fido.econ.arizona.edu in 
  648. /azte/papers/da2.ps
  649.  
  650. Classification: complex, adaptive, non-stochastic, predictive, optimizing
  651.  
  652. Rank in 1990 SFI DA tournament: 2nd out of 29
  653.  
  654. -------------------------------------------------------------------------
  655. TERMINATOR
  656.  
  657. Shawn LaMaster, Mark Van Boening, Stephen Rassenti, Robert Dorsey
  658.  
  659. Original design by Dr. Robert Dorsey, University of Mississippi
  660. (see "Estimation and Simulation of the Double Auction" a discussion
  661. paper for the Economic Science Association  meetings, 1989,
  662. available from Robert Dorsey, Dept. of Economics, University
  663. of Mississippi, University MS 38677.)
  664.  
  665. The Terminator strategy is derived from an empirical analysis of
  666. human behavior in experimental DA markets.  
  667.  
  668. Terminator uses a 3 part linear decay rule for 
  669. setting bids and asks. As a starting
  670. point, it uses the minimum seller value/maximum buyer value computed 
  671. from the game type. Current parameters have Terminator decay 30 percent
  672. over the first .5 ntimes, 50 percent over the next .3 ntimes, and
  673. 20 percent over the last .2 ntimes.
  674. The buy/sell decision is based on a straight linear decay of
  675. a measure of acceptable profit.
  676.  
  677. The original design uses an exponential decay. We have modified the
  678. design to use a piecewise linear decay.
  679.  
  680. Rank in 1990 SFI DA tournament: 11th out of 29
  681.  
  682. -------------------------------------------------------------------------
  683. TRUTHTELLER
  684.  
  685. John Rust
  686. University of Wisconsin
  687. Madison, WI 53706
  688.  
  689. This program implements naive truthtelling strategy in which the
  690. program bids a value equal to its current token value and accepts any
  691. current ask for which it can make a profit. The selling strategy is
  692. symmetric.
  693.  
  694. Classification: simple, nonadaptive, nonstochastic, nonoptimizing,
  695. nonpredictive
  696.  
  697. Program did not participate in 1990 SFI DA tournament, but did very poorly
  698. in subsequent scientific tournaments.
  699.  
  700. -------------------------------------------------------------------------
  701. UTGOFF
  702.  
  703. Paul E. Utgoff
  704. Lederle Graduate Research Center
  705. University of Massachusetts
  706. Amherst, MA 01003
  707.  
  708. Strategy is based on fitting two quadratics (one for bids, other for
  709. offers) to the three most recent bids/offers, using time as the x-axis.
  710. One can then extrapolate, drawing inferences about whether, when, and where
  711. the two curves might intersect in the future, or (more likely) when and
  712. where they come closest.  See comments below for details.  This could be
  713. improved quite a bit with some more effort.
  714.  
  715. Classification: simple, nonadaptive, stochastic, predictive, nonoptimizing
  716.  
  717. Rank in 1990 SFI DA tournament: 21st out of 29
  718.  
  719. -------------------------------------------------------------------------
  720. WENDROFF
  721.  
  722. Harvey Rose and Burton Wendroff
  723. Los Alamos National Laboratory
  724. Los Alamos NM 87545
  725.  
  726. Bid-Offer: We determine an equilibrium price by averaging over
  727. previous trades. Our bid-offers are constrained to be within
  728. two standard deviations of that price (random in that interval). 
  729.  
  730. Buy-Sell: If offer is too much
  731. higher than the equilibrium we reject it, otherwise we accept.
  732.  
  733. CLASSIFICATION: simple, adaptive, nonstochastic, predictive, nonoptimizing 
  734.  
  735. Rank in 1990 SFI DA tournament: 25th out of 29
  736.  
  737. -------------------------------------------------------------------------
  738. ZI
  739.  
  740. This is a version of the "Zero Intelligence" strategy of Gode
  741. and Sunder (see chapter 7 by Gode and Sunder in "The Double
  742. Auction Market: Institutions, Theories and Evidence" Friedman
  743. and Rust (eds.)
  744.  
  745. The ZI program simply bids a random amount below its current
  746. redemption value and MINPRICE, and a ZI seller asks a random
  747. amount abouve its token cost and MAXPRICE. A ZI trader will
  748. accept any bid or ask if it can make a positive profit.
  749.  
  750. CLASSIFICATION: simple, nonadaptive, stochastic, nonpredictive, nonoptimizing
  751.  
  752. Program did not participate in 1990 SFI DA tournament, but
  753. did poorly in subsequent "scientific tournaments".
  754.  
  755. -------------------------------------------------------------------------
  756.